In conventional networks, various routing techniques may be used to transport data packets through the network. There may be multiple paths to transport the data packets between two nodes of the network. The network may be configured to split the traffic among these multiple paths. For example, a multipath routing technique may be used to determine how the traffic will be split among the multiple paths in the network. Exemplary multipath routing techniques may include Weighted Cost MultiPath (WCMP) routing and Equal Cost MultiPath (ECMP) routing. WCMP routing technique may distribute the traffic among available paths based on a set of pre-determined ratios. If the pre-determined ratios are equal, the WCMP routing may be a ECMP routing where the traffic is distributed evenly among the available paths. WCMP routing may include multiple links interconnecting network components. Each link may have a maximum capacity for transmitting data.
In conventional networks, a network element assigns data to a given link for transmission to an intended recipient. The data may traverse through multiple network elements at multiple stages before being transmitted to the recipient. The network element transmitting the data may assign the data to the given link based on the maximum capacity of the given link. However, the respective capacities of the network elements downstream from the given link also affect the amount of data that can be transmitted to the intended recipient. Conventional networks fail to consider the capacities of the downstream network elements and/or downstream links when determining the amount of data that can be assigned to a given link.